Ext.define('aps.importarTipoitemPanel', {
    extend: 'Ext.form.Panel',
    alias : 'aps.importarTipoitemPanel',

    title :   'Importar Tipo de Item',
    id:       'panel_importar_tipoitem',
    name:     'panel_importar_tipoitem',
    layout:   'fit',
    frame:    true,
    closable: true,
    border:   false,
  
    initComponent: function() {
        var grid_tipoitem_importar = Ext.create('aps.tipoitemGridImportar' ,{
            id: 'tipoitem-importar',
            margin:    '20 0 0 0',
            store: Ext.create('aps.tipoitemConsultaStoreImportar',{
                storeId: 'tipoitem-store-importar'
            })
        });
        var combo_proyecto = Ext.create('aps.comboProyectoImportar',{
            id:         'combo_proyecto_importar_1',
            fieldLabel: '<b>Elija el Proyecto de donde desea importar el Tipo de Item </b>',
            width: 540,
            labelWidth:  350,
            margin: '50 20 20 20',
            listeners: {
                select: function(combo, records){
                    combo_fase.clearValue();
                    combo_fase.lastQuery = null;
                    combo_fase.store.removeAll();
                    combo_fase.store.load({
                        params: {
                            id_proyecto : Ext.getCmp('combo_proyecto_importar_1').getValue()
                        }
                    });
                }
            }
            
        });
        combo_proyecto.store.load();
        var combo_fase = Ext.create('aps.comboFaseImportar',{
            id:         'combo_fase_importar',
            fieldLabel: '<b>Elija la Fase de donde desea importar el Tipo de Item </b>',
            width: 540,
            labelWidth:  350,
            margin: '5 20 20 20',
            listeners: {
                select: function(combo, records){
                    grid_tipoitem_importar.store.load({
                        params: {
                            idfase : Ext.getCmp('combo_fase_importar').getValue()
                        }
                    });
                }
            }
            
        });
        combo_fase.store.load();
        this.items = [{
            xtype:      'form',
            title:      'Importar Tipo de Item',
            autoScroll: true,
            fieldDefaults: {
                blankText:     'Este campo no puede ser nulo',
                msgTarget:     'side',
                autoFitErrors: false
            },
            items: [
                combo_proyecto,
                combo_fase,
                {
                    xtype:     'label',
                    style:     'font-weight:bold;',
                    text:      'Seleccione el Tipo de Item que desea importar',
                    margin:    '5 20 20 20',
                },
                    grid_tipoitem_importar
            ]
        }];
        this.buttons =[{
            text:     'Guardar',
            iconCls:  'save-icon',
            grid:     grid_tipoitem_importar,
            handler:  this.form_submit_handler
        }, {
            text:    'Cancelar',
            iconCls: 'cancel-icon',            
            handler: this.form_cancel_handler
        }];
        
         this.listeners = {
            close : function(){
                // actualizamos el store
                Ext.StoreMgr.lookup('tipoitemStore').load({
                    params : {
                        idfase : Ext.getCmp('combo-fase').valueModels[0].data.idfase
                    }
                });
                // volvemos al panel de administracion
                Ext.getCmp('area-central').agregar_pestanha('panel_administrar_tipoitem', null);
            }
        };
        this.callParent(arguments);
    },
    
    form_submit_handler: function(){
        var records = this.grid.getSelectionModel().getSelection();
        if(records == null || records.length == 0){
            Ext.Msg.alert('ERROR','Debe seleccionar un tipo de item para importar');
        }
        else{
            var grid = this.grid;
            var id_fase = Ext.getCmp('combo-fase').valueModels[0].data.idfase;
            var self = this;
            var form = self.up('form').getForm();
            if(form.isValid()){
                form.submit({
                    method:    'POST',
                    url:       '/importar_tipoitem',
                    params: { id_tipoitem : records[0].data.id , id_fase : id_fase },
                    waitTitle: 'Connecting', 
                    waitMsg:   'Sending data...',
                    success: function(form,action){
                        Ext.Msg.alert('INFO','Tipo de Item importado con exito!', function(btn, text){                            
                            if (btn == 'ok'){    
                                self.up('panel').close();
                            }
                        });
                    },
                    failure: function(form, action){
                        Ext.Msg.alert('ERROR','Ocurrio un problema al importar el tipo de item!');
                    }
                });
            }
         }   
    },    
    form_cancel_handler: function() {
        this.up('panel').close();
    }
});





